﻿using System.Linq;
using NotMyself.Oxite.Data.LinqToNHibernateProvider.Specification;

namespace NotMyself.Oxite.Data.LinqToNHibernateProvider
{
    public interface IRepository<T>
    {
        IQueryable<T> GetList();
        T GetById(long id);
        void Save(T entity);
        void Delete(T entity);
        T GetOne(SpecificationBase<T> query);
        IQueryable<T> GetList(SpecificationBase<T> query);
    }
}